/**
 * @file FrontPushableObsPlanner.h
 * @author  
 * @brief 前方可移动障碍物触发控制规划
 * @version 1.0
 * @date 2021-02-01
 * 
 * @copyright Copyright (c) 2021
 * 
 */

#pragma once
#include "data_struct/robot/Pose.h"

namespace  behavior_controller
{
    class FrontPushableObsPlanner
    {
        public:
        
        FrontPushableObsPlanner(){};
        ~FrontPushableObsPlanner(){};

        void run(double &linear_vel, double &angular_vel);

        std::vector<std::pair<bool, PointF>> front_obs;
        double time_now=0;
        bool finished=true;
        bool push_able=false;
    };
    //static 
    extern FrontPushableObsPlanner front_pushable_obs_planner;
}